package com.distrimas.senta.dominio.contabilidad.nomina;

import com.distrimas.senta.servicios.comun.Validador;
import java.util.List;

public class EmpleadoManager {

    EmpleadoDAO dao =  EmpleadoDAO.getEmpleadoDAO();
    static EmpleadoManager manager;

    public static EmpleadoManager getEmpleadoManager(){
        if(manager == null){
            manager = new EmpleadoManager();
        }
        return manager;
    }

    public List<EmpleadoDTO> getEmpleados(){
        return dao.getEmpleados();
    }

    public EmpleadoDTO buscarEmpleado(String id){
        EmpleadoDTO empleado = null;
        if(Validador.validarNumeros(id)){
            empleado = new EmpleadoDTO();
            empleado.setId(id);
            empleado = dao.getEmpleado(empleado);
        }
        return empleado;
	}

    public boolean ingresarEmpleado(EmpleadoDTO e ){
        boolean result = false;
        String id = e.getId();
        String nombre = e.getNombre();
        String apellido = e.getApellido();
        String telefonoFijo = e.getTelefono_fijo();
        String telefonoMovil = e.getTelefono_movil();
        String direccion = e.getDireccion();
        float salario = e.getSalario();
        String idJefe = e.getJefe().getId();
        String codigoSede = e.getSede().getCodigo();
        String codigoCargo = e.getCargo().getCodigo();

        if(Validador.validarNumeros(id) && Validador.sinEspacios(id) && Validador.validarLetras(nombre) && Validador.validarLetras(apellido) && Validador.validarNumeros(telefonoFijo) && Validador.sinEspacios(telefonoFijo) && Validador.validarNumeros(telefonoMovil) && Validador.sinEspacios(telefonoMovil) && Validador.validarEspeciales(direccion) && Validador.validarCantidad(salario) && Validador.validarNumeros(idJefe) && Validador.sinEspacios(idJefe) && Validador.validarNumeros(codigoSede) && Validador.sinEspacios(codigoSede) && Validador.validarNumeros(codigoCargo) && Validador.sinEspacios(codigoCargo)){
            result = dao.ingresarEmpleado(e);
        }
        return result;
    }

    public boolean actualizarEmpleado(EmpleadoDTO e){
        return dao.actualizarEmpleado(e);
    }

    public boolean eliminarEmpleado(String id){
        return dao.eliminarEmpleado(id);
    }

}
